package com.zhuiyun.project.api.appuserreport.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.Date;

/**
 * AppUerReportModel
 *
 * @author 温
 * @date 2023/7/4 14:45
 * @parameter
 * @return
 */
@ApiModel("用户举报模块")
@Data
public class AppUerReportModel {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty("id")
    private Integer id;

    @ApiModelProperty("被举报人id")
    private Integer reportedUserId;

    @ApiModelProperty("举报人id")
    private Integer reportingUserId;

    @ApiModelProperty("举报类型")
    private String reportType;

    /**
     * 被举报人名称
     */
    @ApiModelProperty("被举报人名称")
    private String reportedUserName;
    /**
     * 举报人名称
     */
    @ApiModelProperty("举报人名称")
    private String reportingUserName;

    @ApiModelProperty("举报详情")
    private String reportDetails;

    @ApiModelProperty("举报截图")
    private String reportScreenshot;


    @ApiModelProperty("举报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date reportTime;


    @ApiModelProperty("举报状态")
    private Integer reportStatus;


    @ApiModelProperty("处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date processingTime;

    // 1已警告  2驳回 3已注销
    @ApiModelProperty("处理结果")
    private int processingResult;

    @ApiModelProperty("驳回原因")
    private String rejectionReason;


    @ApiModelProperty("处理人员")
    private String processor;


    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")

    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    private Date updateTime;

    /**
     * 删除表示
     */
    @ApiModelProperty("删除表示")
    private Integer delFlag;
}
